package org.jeecg.vo.charge;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.entity.charge.ChargeBills;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
@ApiModel(value="日常收费请求对象", description="日常收费请求对象")
public class ChargeOrderReqVo implements Serializable {

    @ApiModelProperty(value = "项目id")
	private String projectId;

	@ApiModelProperty(value = "楼栋id")
	private String floorId;

	@ApiModelProperty(value = "房间id")
	private String roomId;

	@ApiModelProperty(value = "收费项id")
	private String feeId;

	@ApiModelProperty(value = "折扣金额")
	private BigDecimal payReduced;

	@ApiModelProperty(value = "是否减免 1:是 0:否")
	private Boolean isDiscount;

	@ApiModelProperty(value = "减免金额")
	private BigDecimal discount;

	@ApiModelProperty(value = "应收金额")
	private BigDecimal due;

	@ApiModelProperty(value = "实际支付金额")
	private BigDecimal pay;

	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "收款日期")
	private java.util.Date payTime;

	@ApiModelProperty(value = "收款方式")
	private Integer payType;

	@ApiModelProperty(value = "扫码枪支付码")
	private String payQRCode;

	@ApiModelProperty(value = "账单列表")
	private List<ChargeBills> billsList;

	@ApiModelProperty(value = "开票类型 1:不开票据  2:纸质票据  3:电子发票")
	private String invoiceType;

    @ApiModelProperty(value = "发票号码")
	private String invoiceHm;

    @ApiModelProperty(value = "发票代码（入库单编号）")
	private String invoiceDm;
	/**开票日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "开票日期")
	private java.util.Date makeInvoiceDate;

//	/**开票人*/
//	@Excel(name = "开票人", width = 15)
//    @ApiModelProperty(value = "开票人")
//	private String invoiceMan;
//	/**开票税号*/
//    @ApiModelProperty(value = "开票税号")
//	private String ein;
//	/**银行账号*/
//    @ApiModelProperty(value = "银行账号")
//	private String account;
//	/**地址*/
//    @ApiModelProperty(value = "地址")
//	private String address;
	@ApiModelProperty(value = "电票抬头")
	private String invoiceName;
    @ApiModelProperty(value = "电话")
	private String invoiceMobile;
    @ApiModelProperty(value = "邮箱")
	private String invoiceEmail;
    @ApiModelProperty(value = "税额")
	private BigDecimal tax;
	@ApiModelProperty(value = "收入")
	private BigDecimal income;
    @ApiModelProperty(value = "备注")
	private String remarks;

}
